package main.java.string;

import java.util.Arrays;

/*
    String支持正则表达式的方法二:
    string[] split(string regex)        split拆分
    将当前字符串按照满足正则表达式的部分进行拆分，将拆分出的每部分以数组形式返回
 */
public class SplitDemo {
    public static void main(String[] args) {
        String line = "aabc123def456";
        //将字符串按照数字进行拆分
        String[] arr = line.split("[0-9]+");
        //拆分出的数组长度
        System.out.println(arr.length);
        //将数组拆分成字符串然后输出
        System.out.println(Arrays.toString(arr));

        //拆分出以.为分隔符的字符串
        line = "123.456.789";
        //拆分出的数组长度，并转义.为正则表达式中的.
        String[] array = line.split("\\.");
        //输出数组
        System.out.println(Arrays.toString(array));


                String str = "abc123def456ghi";
                String[] array1 = str.split("[0-9]+");
                System.out.println(Arrays.toString(array1));

                str = "abc=def=ghi=jkl";
                array = str.split("=");
                System.out.println(Arrays.toString(array));

                //连续出现可拆分项时，之间会拆分出一个空字符串
                str = "abc===def=ghi=jkl";
                array = str.split("=");
                System.out.println(Arrays.toString(array));
                //字符串开始是可拆分项时，最开始会拆分出一个空字符串
                str = "==abc=def=ghi=jkl";
                array = str.split("=");
                System.out.println(Arrays.toString(array));
                //末尾连续拆分出可拆分项时，所有拆分出的空字符串都会被忽略
                str = "abc=def=ghi=jkl================";
                array = str.split("=");
                System.out.println(Arrays.toString(array));
            }
        }
